package util.android.form.respuesta;

import android.view.View;
import util.android.AndroidUtil;
import util.android.form.DialogOmision;
import util.android.window.OnAceptarCancelarListener;
import util.form.respuesta.AbstractInput1;

public abstract class AbstractInputAndroid1<V extends View,C extends AbstractInputAndroid1<V,C>> 
extends AbstractInput1<C>
implements Input1Android
{
	protected final V view;
	
	public AbstractInputAndroid1(V view) {
		this.view = view;
	}
	
	@Override
	public void requestFocus() {
		getView().clearFocus();
		getView().requestFocus();
	}
	
	@Override
	public final V getView() {
		return view;
	}
	
	@Override
	public boolean preguntarPorOmisiones(
			OnAceptarCancelarListener dialogAceptarCancelarListener) {		
		DialogOmision d = new DialogOmision(getView().getContext(), this);
		d.setOnAceptarCancelarListener(dialogAceptarCancelarListener);
		return d.mostrar();		
	}
	
	
	public void manejarExcepcion(Exception e) {
		AndroidUtil.mostrarExcepcionEnToast(getView().getContext(), e);
	}
	
}
